//alertify
alertify.defaults.transition = "none";
alertify.defaults.theme.ok = "btn btn-primary";
alertify.defaults.theme.cancel = "btn btn-default";

//打开modal iframe
$('body').delegate('[data-click=modal-iframe]','click',function(){
    var frameSrc = $(this).data('href');
    $('.modal-iframe').on('show.bs.modal', function (e) {
        $(".iframe").attr("src", frameSrc);
    })
});
$('.modal-iframe').on('hidden.bs.modal', function (e) {
    $(".iframe").attr("src", "about:blank");
})

//表格复选框
var checkedCount = 0;
$('.table-check').delegate('tbody tr','click',function(){
    var $this = $(this);
    var $upTable = $this.closest('.td-check-panel').children('.panel-body').children('.up-table');
    checkedCount = Number($upTable.find('.selected-case').text());
    if(!$this.find('.check-item').hasClass('check-item-checked')){
        checkedCount++;
        $this.addClass("td-selected").find('.check-item').addClass('fa-check-square check-item-checked').removeClass('fa-square-o');
    } else{
        checkedCount--;
        $this.removeClass("td-selected").find('.check-item').removeClass('fa-check-square check-item-checked').addClass('fa-square-o');
    }

    var checkedValue = '';
    var checkAllValue = 1;
    $this.closest('tbody').find('tr').each(function(){
        var $eachTr = $(this);
        var dataValue = $eachTr.data('value');
        if($eachTr.hasClass('td-selected')) {
            checkedValue = checkedValue + dataValue + ',';
        } else {
            checkAllValue = 0;
        }
    });
    if(checkAllValue){
        $this.closest('table').find('.check-all').addClass('fa-check-square check-all-checked').removeClass('fa-square-o');
    }else{
        $this.closest('table').find('.check-all').removeClass('fa-check-square check-all-checked').addClass('fa-square-o');
    }
    $this.closest('.table-check').prev().val(checkedValue);

    $upTable.find('.selected-case').text(checkedCount);
    if(checkedCount>0){
        $upTable.find('.selected-action').find('.btn').removeClass('disabled');
        $upTable.find('.selected-case').addClass('text-important');
    }else{
        $upTable.find('.selected-action').find('.btn').addClass('disabled');
        $upTable.find('.selected-case').removeClass('text-important');
    }
})
$('.table-check').delegate('.check-all','click',function(){
    var $this = $(this);
    var $upTable = $this.closest('.td-check-panel').children('.panel-body').children('.up-table');
    checkedCount = Number($upTable.find('.selected-case').text());
    var checkedValue = '';
    if(!$this.hasClass('check-all-checked')){
        checkedCount = $this.closest('table').find('.check-item').length;
        $this.addClass('fa-check-square check-all-checked').removeClass('fa-square-o').closest('.table-check').find('.check-item').each(function(){
            $(this).addClass('fa-check-square check-item-checked').removeClass('fa-square-o').closest('tr').addClass('td-selected');
        });
        $this.closest('.table-check').find('tbody').find('tr').each(function(){
            var $eachTr = $(this);
            var dataValue = $eachTr.data('value');
            checkedValue = checkedValue + dataValue + ',';
        });
    }else{
        checkedCount = 0;
        checkedValue = '';
        $this.removeClass('fa-check-square check-all-checked').addClass('fa-square-o').closest('table').find('.check-item').each(function(){
            $(this).removeClass('fa-check-square check-item-checked').addClass('fa-square-o').closest('tr').removeClass('td-selected');
        });
    }
    $this.closest('.table-check').prev().val(checkedValue);

    $upTable.find('.selected-case').text(checkedCount);
    if(checkedCount>0){
        $upTable.find('.selected-action').find('.btn').removeClass('disabled');
        $upTable.find('.selected-case').addClass('text-important');
    }else{
        $upTable.find('.selected-action').find('.btn').addClass('disabled');
        $upTable.find('.selected-case').removeClass('text-important');
    }
});
$('.table-check').on('click','td a',function(){
    $(this).closest('tr').click();
})

$('.org-tree').delegate('.more', 'click', function () {
    var $this = $(this);
    var $thisHolder = $this.closest('.item');
    if ($thisHolder.hasClass('expand')) {
        $thisHolder.removeClass('expand').find('.icon-folder').addClass('fa-folder-o').removeClass('fa-folder-open-o');
        $thisHolder.find('.icon-arrow').addClass('fa-caret-right').removeClass('fa-caret-down');
        $thisHolder.next().removeClass('expand');
    } else {
        $thisHolder.addClass('expand').find('.icon-folder').addClass('fa-folder-open-o').removeClass('fa-folder-o');
        $thisHolder.find('.icon-arrow').addClass('fa-caret-down').removeClass('fa-caret-right');
        $thisHolder.next().addClass('expand');
    }
    // return false;
    // e.stopPropagation();
});
$('.org-tree-radio .org-tree').delegate('.icon-check', 'click', function (e) {
    var $this = $(this);
    var $thisHolder = $this.closest('.item');
    var $tree = $this.closest('.org-tree');
    var $treeWrapper = $this.closest('.org-tree-select-panel');
    var folderValue = '';
    var memberValue = '';
    var name = '';

    if (!$thisHolder.hasClass('checked')) {
        $tree.find('.item').removeClass('checked active').find('.icon-check').addClass('fa-square-o').removeClass('fa-check-square');
        $thisHolder.addClass('checked active').find('.icon-check').addClass('fa-check-square').removeClass('fa-square-o');

        if ($thisHolder.hasClass('item-folder')) {
            folderValue = $thisHolder.data('value');
        } else {
            memberValue = $thisHolder.data('value');
        }
        var name = $thisHolder.find('.name').text();
    } else {
        $thisHolder.removeClass('checked active').find('.icon-check').addClass('fa-square-o').removeClass('fa-check-square');
        folderValue = '';
        memberValue = '';
        name = '';
    }


    $treeWrapper.find('.selected-folder-value').val(folderValue);
    $treeWrapper.find('.selected-member-value').val(memberValue);
    $treeWrapper.find('.selected-name').text(name);
    e.stopPropagation();
});

$('.org-tree-radio .org-tree').delegate('.item-name', 'click', function () {
    $(this).find('.icon-check').click();
});

//下拉菜单模拟select表单
$('body').delegate('.dropdown-option-menu a', 'click', function () {
    var $this = $(this);
    var dropdownValue = $this.text();
    var dataValue = $this.data('value');
    $this.closest('.dropdown').find('.option-name').text(dropdownValue);
    $this.closest('.dropdown').find('.option-value').val(dataValue).trigger('change');
}).delegate('[data-toggle=dropwindow]', 'click', function(){
    var $this = $(this);
    var $thisWindow = $this.closest('.dropwindow');
    if(!$thisWindow.hasClass('open')){
        $thisWindow.addClass('open');
    } else {
        $thisWindow.removeClass('open');
    }
});
$('.dropdown-menu').delegate('[data-stoppropagation]','click', function(e) {
    e.stopPropagation();
});
$('.dropdown-check-menu').on('click','.check-item',function(){
    var $thisFa = $(this).find('.fa');
    if(!$thisFa.hasClass('item-checked')){
        $thisFa.addClass('item-checked fa-check-square').removeClass('fa-square-o');
    } else {
        $thisFa.removeClass('item-checked fa-check-square').addClass('fa-square-o');
    }
});
$('.dropdown-check-menu').on('click','.check-btn',function(){
    var checkItem = '';
    var $this = $(this);
    var checkBox = $this.closest('.dropdown-check-menu');
    var checkItemCount = 0;
    var allCheckItem = checkBox.find('.check-item').length;
    checkBox.find('.check-item').each(function(){
        if($(this).find('.fa').hasClass('item-checked')){
            checkItemCount++;
            checkItem = checkItem + $(this).data('value') + ',';
        }
    });
    if (checkItemCount == allCheckItem) {
        checkBox.find('.all-check-item').click();
        return false;
    } else {
        checkBox.next().val(checkItem).trigger('change');
        if(checkItem!=''){
            checkBox.closest('.dropdown').removeClass('open').find('.option-name').text('部分催收状态');
        }else{
            checkBox.closest('.dropdown').removeClass('open').find('.option-name').text('催收状态');
        }
    }
});
$('.dropdown-check-menu').on('click','.all-check-item',function(){
    var checkBox = $(this).closest('.dropdown-check-menu');
    checkBox.find('.check-item').each(function(){
        $(this).find('.fa').removeClass('item-checked fa-check-square').addClass('fa-square-o');
    });
});


$('body').delegate('.textarea-toggle','click',function(){
    var $objWrap = $(this).parent();
    $objWrap.addClass('open').find('textarea').focus();
}).delegate('.dropdown-category-select a','click',function(){
    var $this = $(this);
    $this.closest('.category-search').find('.textarea-toggle').click();
    if ($this.hasClass('batch')){
        $this.closest('.category-search').addClass('open-more');
    } else {
        $this.closest('.category-search').removeClass('open-more');
    }
    if ($this.hasClass('delegate-bank')) {
        $this.closest('.category-search').addClass('open-bank');
    } else {
        $this.closest('.category-search').removeClass('open-bank');
    }
});

$(document).on("click",function(e)
{
    if( $(e.target).closest('.btn').hasClass('dropdown-toggle') || $(e.target).hasClass('expand-icon')){}
    else if($(e.target).hasClass('list-group-item')){
        if(!$(e.target).hasClass('node-selected')){
            $('body').find('.dropwindow').removeClass('open');
        }
    } else {
        $('body').find('.dropwindow').removeClass('open');
    }
    if($(e.target).parents(".category-search").length == 0)
    {
        $('body').find('.textarea-group').removeClass('open');
        setTextAreaToggle();
        var $inputValue = $('.textarea-toggle .input-value');
        if($inputValue.text()!='可输入多个，用换行分割'){
            $inputValue.removeClass('input-value-empty');
        }else{
            $inputValue.addClass('input-value-empty');
        }
    }
});
$('body').delegate('[data-toggle=dropdown]','click',function(){
    if($(this).parents('.dropwindow').length == 0){
        $('body').find('.dropwindow').removeClass('open');
    }
    if($(this).parents('.textarea-group').length == 0){
        $('body').find('.textarea-group').removeClass('open');
        setTextAreaToggle();
        var $inputValue = $('.textarea-toggle .input-value');
        if($inputValue.text()!='可输入多个，用换行分割'){
            $inputValue.removeClass('input-value-empty');
        }else{
            $inputValue.addClass('input-value-empty');
        }
    }
})
$('.set-full').click(function(){
    var $parentObj = $(this).closest('.textarea-group');
    $parentObj.find('textarea').val('');
    $parentObj.find('.input-value-empty ').text('可输入多个，用换行分割');
});
function setTextAreaToggle(){
    var $inputValue = $('.textarea-toggle .input-value');
    var $inputbox = $('.dropdown-textarea textarea');
    if($inputbox.val()==''){
        $inputValue.text('可输入多个，用换行分割');
    }else{
        $inputValue.text($inputbox.val());
    }
}


//时间控件
//daterangepicker

//默认自动显示当前日期
$('[data-toggle=datetimeauto]').daterangepicker({
    singleDatePicker: true,
    timePicker: true,
    timePicker24Hour: true,
    locale: {
        format: 'YYYY-MM-DD HH:mm',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});
$('[data-toggle=datetimeautoleft]').daterangepicker({
    singleDatePicker: true,
    timePicker: true,
    timePicker24Hour: true,
    opens : 'left',
    locale: {
        format: 'YYYY-MM-DD HH:mm',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});

//默认不显示日期
$('[data-toggle=datetime]').daterangepicker({
    singleDatePicker: true,
    timePicker: true,
    timePicker24Hour: true,
    autoUpdateInput: false,
    locale: {
        format: 'YYYY-MM-DD HH:mm',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});
$('[data-toggle=datetime]').on('apply.daterangepicker', function(ev, picker) {
    $(this).val(picker.startDate.format('YYYY-MM-DD HH:mm'));
});

$('[data-toggle=datetime]').on('cancel.daterangepicker', function(ev, picker) {
    $(this).val('');
});
$('[data-toggle=datetimeleft]').daterangepicker({
    singleDatePicker: true,
    timePicker: true,
    timePicker24Hour: true,
    autoUpdateInput: false,
    locale: {
        format: 'YYYY-MM-DD HH:mm',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});
$('[data-toggle=datetimeleft]').on('apply.daterangepicker', function(ev, picker) {
    $(this).val(picker.startDate.format('YYYY-MM-DD HH:mm'));
});

$('[data-toggle=datetimeleft]').on('cancel.daterangepicker', function(ev, picker) {
    $(this).val('');
});

//单日默认显示当前日期
$('[data-toggle=singledateauto]').daterangepicker({
    singleDatePicker: true,
    locale: {
        format: 'YYYY-MM-DD',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});

//单日默认不显示日期
$('[data-toggle=singledate]').daterangepicker({
    singleDatePicker: true,
    autoUpdateInput: false,
    locale: {
        format: 'YYYY-MM-DD',
        applyLabel: '确定',
        cancelLabel: '清除'
    }
});
$('[data-toggle=singledate]').on('apply.daterangepicker', function(ev, picker) {
    $(this).val(picker.startDate.format('YYYY-MM-DD'));
});

$('[data-toggle=singledate]').on('cancel.daterangepicker', function(ev, picker) {
    $(this).val('');
});

$('[data-toggle=daterange]').daterangepicker({
    autoUpdateInput: false,
    maxDate : moment(),
    ranges: {
        '今天': [moment(), moment()],
        '昨天': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
        '最近7天': [moment().subtract(6, 'days'), moment()],
        '最近30天': [moment().subtract(29, 'days'), moment()],
        '本月': [moment().startOf('month'), moment().endOf('month')],
        '上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
    },
    alwaysShowCalendars:true,
    showCustomRangeLabel:false,
    buttonClasses: "btn btn-default",
    applyClass: "btn-primary",
    locale: {
        format: 'YYYY-MM-DD',
        applyLabel: '确定',
        cancelLabel: '清除',
        customRangeLabel : '自定义',
    }
});
$('[data-toggle=daterange]').on('apply.daterangepicker', function (ev, picker) {
    $(this).addClass('btn-selected').parent().find('.date-text').text(picker.startDate.format('YYYY-MM-DD') + ' 到 ' + picker.endDate.format('YYYY-MM-DD')).prev().val(picker.startDate.format('YYYY-MM-DD')).prev().val(picker.endDate.format('YYYY-MM-DD'));
});
$('[data-toggle=daterange]').on('cancel.daterangepicker', function (ev, picker) {
    $(this).removeClass('btn-selected').parent().find('.date-text').text('').prev().val('').prev().val('');
});